import sys
import os

# 添加Odoo路径
sys.path.append('f:\\odoo')
os.environ['PYTHONPATH'] = 'f:\\odoo'

# 导入Odoo核心模块
import odoo
from odoo import api, models, registry, SUPERUSER_ID

# 初始化Odoo环境
odoo.tools.config.parse_config(['--addons-path=f:\\odoo\\addons'])

dbname = 'ncs'  # 替换为你的数据库名称

# 连接数据库
with registry(dbname).cursor() as cr:
    env = api.Environment(cr, SUPERUSER_ID, {})

    # 检查模型是否存在
    try:
        model = env['my.task']
        print(f"模型 'my.task' 存在")

        # 检查安全访问权限
        access_rules = env['ir.model.access'].search([('model_id.model', '=', 'my.task')])
        if access_rules:
            print(f"找到 {len(access_rules)} 条访问规则")
            for rule in access_rules:
                group = rule.group_id.name if rule.group_id else '公共'
                print(f"- 规则: {rule.name}, 组: {group}, 读: {rule.perm_read}, 写: {rule.perm_write}")
        else:
            print("未找到访问规则")

    except KeyError:
        print("模型 'my.task' 不存在")

        # 检查模块是否安装
        module = env['ir.module.module'].search([('name', '=', 'my_task_module')])
        if module and module.state == 'installed':
            print("模块已安装，但模型未加载")
        else:
            print("模块未安装")